﻿using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;

namespace ArraysExample
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Введите размер массива: ");
            int size = Int32.Parse(Console.ReadLine());
            int[] workArray = FillArrayFromConsole(size);

            Console.WriteLine("Введенный элементы: ");
            foreach (var item in workArray)
            {
                Console.WriteLine(item);
            }
            //Array.Sort(workArray);
            //Array.Reverse(workArray);
            //int indexOf3 = Array.IndexOf(workArray, 3);
            //Console.WriteLine("Тройка находится на позиции: {0}", indexOf3);
            //Array.Clear(workArray, 1, 2);
            //Console.WriteLine("Элементы после Clear");
            //int[] newArray = new int[5];
            //Array.Copy(workArray, 0, newArray, 1, 3);
            //Console.WriteLine("newArray: ");
            //foreach (var item in workArray)
            //{
            //    Console.WriteLine(item);
            //}

            //int minValue = workArray.Min();
            //Console.WriteLine("Минимальный элемент: {0}",minValue);

            //int maxValue = workArray.Max();
            //Console.WriteLine("Максимальный элемент: {0}",maxValue);
        }

        static int[] FillArrayFromConsole(int arraySize)
        {
            int[] array = new int[arraySize];
            for (int i = 0; i < arraySize; i++)
            {
                Console.Write("[{0}]: ", i);
                array[i] = Int32.Parse(Console.ReadLine());
            }
            return array;
        }

        static void DwqoDimensionArraysExample()
        {
            int[,] dwoDimensionIntArray = new int[2,3];

            for (int i = 0; i < 2; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    Console.Write("[{0},{1}]: ", i,j);
                    dwoDimensionIntArray[i, j] = Int32.Parse(Console.ReadLine());
                }
            }

            for (int i = 0; i < 2; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    Console.Write("{0} ",dwoDimensionIntArray[i,j]);
                }
                Console.WriteLine();
            }
        }

        static void OneDimensionArraysExample()
        {
            int[] intArray = new int[3];

            //Доступ к элементам массива
            //intArray[0] = 1;
            //intArray[1] = 2;
            //intArray[2] = 3;

            //Заполнение массива с консоли
            Console.WriteLine(intArray.Length);
            for (int i = 0; i < 3; i++)
            {
                Console.Write("[{0}]: ", i);
                intArray[i] = Int32.Parse(Console.ReadLine());
            }

            //Вывод элементов массива на экран for
            Console.WriteLine("Элементы массива intArray: ");

            for (int i = 0; i < 3; i++)
            {
                Console.WriteLine(intArray[i]);
            }

            //Вывод элементов массива на экран foreach
            Console.WriteLine("Элементы массива intArray: ");
            foreach (int number in intArray)
            {
                Console.WriteLine(number);
            }
        }
    }
}
